#ifndef _SYSTEM_H
#define _SYSTEM_H
#include "main.h"

// 宏定义
#define STATE_LED_TOGGLE()	HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin)

// 状态LED结构体
typedef struct
{
	uint32_t state_led_count; // 在滴答定时器中累加
	uint32_t state_led_ms_flag; // 判断 state_led_count  是否大于或等于 state_led_flag
	void (*state_led)(void); // 函数指针
	void (*set_freq)(uint32_t period_ms); // 设置状态LED的闪烁频率
} StateLed_t;

// System_t 结构定义
typedef struct {
	StateLed_t StateLed;
} System_t;


// 函数声明
void state_led(void);
void system_init(System_t *system);
void set_freq(uint32_t period_ms);

// extern 声明
extern System_t system;

#endif // _SYSTEM_H
